1. Field of the Invention
The present invention relates to a controller for force-controlling a controlled object such as an industrial robot or a machine tool that is configured to perform a task such as assembling or grinding, wherein the controller incorporates a position control circuit inside a force control circuit to force-control the controlled object.
2. Related Art
A controller for force-controlling a controlled object is operated to control an industrial robot or the like after setting and/or adjusting the force control gain of its force control circuit. The force-controlled industrial robot can carry out precision work that involves contacts such as fitting of precision components, adjustment of gear phases, and grinding using a grinder. To enable the robot to carry out such precision work stably in short cycle times, the force control gain of the force control circuit must be properly set and adjusted.
As the force control gain is influenced by the actual work environment such as the mass and inertia of a hand tool attached to the end of the robot, the spring constants of the robot, hand tool, and workpiece, and the posture of the robot during the work, the amount of overshoot with respect to a force command value must be detected by applying a prescribed force in each direction to be force-controlled (each drive axis direction) and gradually increasing the gain from a sufficiently low gain, and an upper limit value of the force control gain must be determined within the range in which the amount of overshoot does not exceed a predetermined value. However, this method has the problem that there are many limitations and it takes time and skill to accomplish the adjustment.
On the other hand, it is also possible to set the force control gain automatically. To set it automatically, work is performed while gradually increasing the force control gain under program control, the waveform of the force is recorded during the process, and the appropriate force control gain is calculated by calculating the rise time, the amount of overshoot, the vibration components, etc. With this method, however, care must be taken when setting the initial value of the force control gain for adjustment; if the force control gain is set higher than the appropriate force control gain, the force control may oscillate in the first try and may cause damage to the robot or machine performing the work or to the hand tool attached to the machine, the workpiece being worked on, etc. Conversely, if the adjustment is performed starting with a low force control gain in order to avoid such a situation, the number of tries increases, resulting in the problem that it takes time to accomplish the adjustment. Further, in the case of a multi-axis robot, as the space where the force control is performed often contains a space of six axes, i.e., three translational axes and three rotational axes around the translational axes, if the force control gain is to be set for each of these axis, a great deal of time has to be expended to accomplish the gain setting.
Furthermore, when adjusting the force control gain, an environment that causes a physical contact with the workpiece has to be created for each axis direction. The reason is that, when there happens to be no contact in a certain axis direction, if the value of the force control gain obtained in such a situation were used without correction, the force might become unstable when a contact occurred in an actual environment. For example, when inserting a keyed rod 41 into a hole 42 as shown in FIG. 6, the only direction in which a contact occurs when the rod 41 is dislocated from the hole 42, as shown, is the Z direction which is the direction of insertion; therefore, in this case, no contact occurs in the X or Y direction, and the adjustment of the force control gain in the X and Y directions cannot be done until after the rod 41 has been inserted in the hole 42.
As another example, consider a situation where, for example, when inserting a cylindrically shaped workpiece into a hole, the amount of clearance for insertion is very small; in this case, if the adjustment is performed starting from a low force control gain, there arises a problem that the workpiece cannot be inserted because the force control performance is poor. In this way, there are cases where, at the early stage of the force control gain adjustment, two components have to be fitted together when the performance of the force control gain is poor, thus giving rise to a contradiction when setting or adjusting the force control gain.
As another example of the control method, JP-A-06-328379 discloses a method that has a large number of motion correction modules and that switches the motion mode according to the working condition, though this method is not one that controls the controlled object by appropriately controlling the force control gain in accordance with various working conditions.